/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package android.instalacion;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import negocio.Instalacion;
import negocio.dao.DAO;

/**
 *
 * @author davidcabrera
 */
@WebService
public class instalacion {

    DAO d = new DAO();

    @WebMethod(operationName = "readInstalacion")
    public Instalacion readInstalacion(@WebParam(name = "id") Integer id) {

        Instalacion ins = null;
        try {
            ins = (Instalacion) d.read("Instalacion", id);
        } catch (SQLException ex) {
            ex.getMessage();
        }
        return ins;
    }

    @WebMethod(operationName = "createInstalacion")
    public void createInstalacion(@WebParam(name = "direccion") String direccion, @WebParam(name = "nombre") String nombre, @WebParam(name = "descripcion") String descripcion, @WebParam(name = "foto") String foto) {

        Instalacion ins = new Instalacion(direccion, nombre, descripcion, foto);
        try {
            d.create(ins, "Instalacion");
        } catch (SQLException ex) {
            Logger.getLogger(instalacion.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    @WebMethod(operationName = "updateInstalacion")
    public void updateInstalacion(@WebParam(name = "id") Integer id,@WebParam(name = "direccion") String direccion, @WebParam(name = "nombre") String nombre, @WebParam(name = "descripcion") String descripcion, @WebParam(name = "foto") String foto) {

        Instalacion i=this.readInstalacion(id);
        i.setDescripcion(descripcion);
        i.setDireccion(direccion);
        i.setFoto(foto);
        i.setNombre(nombre);
        //Instalacion ins = new Instalacion(direccion, nombre, descripcion, foto);
        try {
            d.update(i, "Instalacion");
        } catch (SQLException ex) {
            Logger.getLogger(instalacion.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @WebMethod(operationName="deleteInstalacion")
    public void deleteInstalacion(@WebParam(name = "id") Integer id){
        try {
            d.delete("Instalacion", id);
        } catch (SQLException ex) {
            Logger.getLogger(instalacion.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @WebMethod(operationName="listInstalacion")
    public List<Instalacion> listInstalacion(){
        List<Instalacion> lista= new ArrayList<Instalacion>();
        List l=null;
        try {
            l=d.list("Instalacion");
        } catch (SQLException ex) {
            Logger.getLogger(instalacion.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        for(Object in: l){
            lista.add((Instalacion) in);
        }
        
       return lista;
                
        
    }
}
